package tag29_20_08.dienstDozent;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class ArbeitsspeicherManager extends Dienst implements Serializable {
	
	private int size;
	transient private Defragmentierung defrag;
	
	public ArbeitsspeicherManager(int size, Defragmentierung defrag) {
		super("AS-Manager");
		this.size = size;
		this.defrag = defrag;
	}
	
	public String toString() {
        return getName() + ". Size: " + size + ". Defrag-Dienst: " + defrag;
    }
	
	private void writeObject(ObjectOutputStream oos) throws IOException {
		oos.defaultWriteObject();
		oos.writeUTF(getName());
		
		oos.writeUTF(defrag.getLaufwerk());
		oos.writeInt(defrag.getZeitabstand());
	}
	
	private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
		ois.defaultReadObject();
		setName(ois.readUTF());
		
		String laufwerk = ois.readUTF();
		int zeitabstand = ois.readInt();
		
		defrag = new Defragmentierung(zeitabstand, laufwerk);
	}
}
